from api import log
from config import HOST


class ApiRegisterLogin:
    # 初始化
    def __init__(self, session):
        # 获取session对象
        self.session = session
        # 图片验证码url
        self.__url_img_code = HOST + "/common/public/verifycode1/{}"
        # 短信验证码url
        self.__url_phone_code = HOST + "/member/public/sendSms"
        # 注册url
        self.__url_register = HOST + "/member/public/reg"
        # 登录url
        self.__url_login = HOST + "/dologin"
        # 登录状态url
        self.__url_web = HOST + "/web/#"
        # 退出登录
        self.__url_logout = HOST + "/logout"

    # 1、获取图片验证码接口 封装
    def api_img_code(self, random):
        # 调用get方法 返回响应对象
        return self.session.get(url=self.__url_img_code.format(random))

    # 2、获取短信验证码接口 封装
    def api_phone_code(self, phone, imgVerifyCode):
        # 1、定义请求参数
        data = {
            "phone": phone,
            "imgVerifyCode": imgVerifyCode,
            "type": "reg"
        }
        # 2、调用请求方法
        return self.session.post(url=self.__url_phone_code, data=data)

    # 3、注册接口 封装
    def api_register(self, phone, password, verifycode, phone_code):
        # 1、定义请求参数
        data = {
            "desc": "登录成功",
            "shop_id": 1,
            "username": "zhangsan",
            "password": "123",
        }
        # 2、调用请求方法
        return self.session.post(url=self.__url_register, data=data)

    # 4、登录接口 封装
    def api_login(self, shop_id, username,password):
        # 1、定义请求参数
        data = {
            "shop_id": shop_id,
            "username": username,
            "password": password
        }
        # 2、调用请求方法
        log.info("正在调用登录接口，请求方法：{} 请求url:{} 请求参数：{}".format("post", self.__url_login, data))
        return self.session.post(url=self.__url_login, data=data)

    # 5、查询登录状态接口 封装
    def api_login_web(self):
        log.info("正在调用查询登录状态接口，请求方法：{} 请求url：{}".format("post", self.__url_web))
        return self.session.post(url=self.__url_web)

    # 5、查询登录状态接口 封装
    def api_logout(self):
        log.info("正在调用查询登录状态接口，请求方法：{} 请求url：{}".format("get", self.__url_logout))
        return self.session.get(url=self.__url_logout)
